feat: BLE functionality enhancements, AGP 9.0 upgrade, and codebase modernization #6
Merged
Merged
Conversation
- Upgraded Gradle to 9.5.0, AGP to 9.2.0, and Kotlin to 2.3.21. - Updated external libraries and included min , target and compile sdk into `libs.version.toml` - Removed project-specific res declarations from build.gradle.kts and used a debug string file
Updated `BluetoothClientConnectArgs` and `BluetoothDeviceArgs` to use `@Serializable` instead of `@Parcelize` and removed `Parcelable` implementation. . Added `/.junie` to `.gitignore`, and some .idea files are updated/added
…tion logic for Android 17. -`BLEServiceModel`, `BLECharacteristicsModel`, and `BluetoothMessage` to use immutable properties within their primary constructors, removing manual backing fields and `apply` blocks. - Updated `AndroidBLEClientConnector` to use `BluetoothGattConnectionSettings` and a dedicated executor when connecting to GATT on supported API levels, this is not being tested on an Android 17 device - Refactored `BLEClientGattCallback` to accept a `CoroutineScope` via constructor injection, improving lifecycle control from the connector. - Updated `AndroidBluetoothLEScanner` to only trigger `StateFlow` updates when a device's RSSI actually changes, reducing redundant UI recompositions. - Included domain model packages to `stability_config.conf` to ensure proper smart recomposition. - Suppressed relevant deprecation warnings for legacy Bluetooth APIs and improved error handling for `CancellationException` in coroutines.
- Include an AGENTS.md to provide a high-level architectural overview and development guidelines for AI assistants for future. - Updated versionCode to 6 and versionName to 1.2.2 in build.gradle.kts. - Removed the kotlin-parcelize plugin and simplified R8 and resource shrinking configurations in gradle.properties and build.gradle.kts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR merges significant improvements to the Bluetooth Low Energy BLE subsystem, upgrades the build infrastructure to AGP 9.0, and performs critical refactoring's for better maintainability and navigation stability. These changes address technical debt and unlock new capabilities for BLE data transfer.
Key Changes
Testing Performed